According to studies performed by the inventor of the present invention, the following techniques are examples of known techniques for realizing a snapshot function in a conventional storage system.
For example, as the use of information systems has been expanding, the capacity of storage devices for storing the data thereof has also been increasing. Also, the value of the data stored in the storage devices has increased, and the destruction of data due to unauthorized accesses to data or erroneous operations in the storage devices has resulted in a great loss in the management of information systems. Therefore, data protection functions become more and more important for the purpose of the prevention of data destruction and recovery when data is destroyed.
A snapshot function is often used as a data protection function of storage devices. By using a snapshot function, a snapshot which is a still image of the data in an operating storage at a certain point can be created and kept. The snapshot can be accessed by means different from that of the storage in operation, and the data at the point of the creation thereof can be referenced. Therefore, when the data in the storage devices in operation is destroyed, the data at the point of snapshot creation can be recovered.
The methods for realizing the snapshot function can generally be classified into two methods, i.e., a method utilizing the functions of a server system for processing and controlling the data, and a method utilizing the functions of a storage subsystem for storing data.
In the method utilizing the functions of a server system, the software which operates in the server system is utilized. For example, there is a method of creating a snapshot by the use of a function of an OS (e.g., “LVM HOWTO” by A J Lewis, which can be accessed at ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/LVM-HOWTO.pdf). A storage volume in operation (operation volume) and another storage volume for creating a snapshot (differential volume) are prepared. When the OS is instructed to create a snapshot of the operation volume, it becomes possible to reference a snapshot which is an image of the operation volume at that point. When the operation volume is updated after the snapshot has been created, the data in the operation volume before the update is copied to the differential volume. Then, when the data address of the snapshot is referenced, the data is returned if the data has been copied to the differential volume, or the data in the operation volume is returned if the copy has not been performed. As described above, a snapshot image is kept by storing the data at the time of snapshot creation in the differential volume.
Further, another prior art approach is a method of utilizing the functions of a storage subsystem (e.g., Japanese Patent Application Publication No. 2004-118413). Also in this case, a storage volume in operation and another storage volume for snapshot creation are prepared. Then, from the server system connected to the storages or a control console of the storage volumes, an instruction for creating a snapshot of the storage volume in operation is given to the storage subsystem. When the storage volume in operation is updated after the snapshot creation, the storage subsystem copies the data in the storage volume in operation before the update to the storage volume for snapshot creation. When the address of the data having the snapshot in the storage subsystem is referenced, the data is returned if the data has been copied to the storage volume for snapshot creation, or the data is returned from the storage volume in operation if the copy has not been performed. As described above, an image of the storage volume in operation at the point of snapshot creation is kept by storing the data at the point of snapshot creation in the storage volume for snapshot creation in the storage subsystem.